Программа для перевода данного натурального числа в р-ную систему счисления (2, 8, 16) — C++(Си)

#include <iostream>
#include <stdio.h>

using namespace std;

int main()
{
int ss,k1=10,k2=11,t,num1,i;
double num;
char ms[20]={' ',' ', ' ',' ',' ', ' ',' ',' ', ' ',' ',' ', ' ',};
char znak='+';
cout<<"vvedite isxodnoe chislo\n";
cin>>num;
if (num<0) {znak='-';num*=-1;}
cout<<"vvedite novoe osnovanie\n";
cin>>ss;
cout<<"vvedite tochnost\n";
cin>>t;
    num1=num;
    num=num-num1;
      while(num1>=ss)
      {
          i=num1%ss;
          num1/=ss;
          ms[k1--]=i>9?i-10+'a':i+'0';
      }
      ms[k1--]=num1>9?i-10+'a':num1+'0';
      ms[k1]=znak;
      ms[k2++]='.';
      while(num!=0 && k2-11<=t)
      {
          num*=ss;
          i=num;
          num-=i;
          ms[k2++]=i>9?i-10+'a':i+'0';
      }
      cout<<"\n";
      for (i=k1;i<k2;i++) {cout<<ms[i];}
      return 0;
}

Leave a Comment